A data warehouse can receive new data continually, in batches, periodically or sporadically. A data warehouse client may require aggregation of the new data, for example, to generate reports or other meaningful information from the raw data. Accordingly, calculating aggregated values must occur periodically to account for the receipt of new data. Data aggregation can require a mapping from one set of data to another set of data. Large volumes of data or sparse data can result in an unwieldy aggregation map, for example, if using a conventional array.